[id].vue 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245
  1. <template>
  2. <div>
  3. <!-- 页面头部 -->
  4. <HomePageHead></HomePageHead>
  5. <!-- 页面导航 -->
  6. <HomePageNavigation></HomePageNavigation>
  7. <!-- 二级标题-->
  8. <HomeSecondaryHeading :titleName="routeName" :titleData="pageData"></HomeSecondaryHeading>
  9. <!-- {{ name }} -->
  10. <!-- 第一层 -->
  11. <div class="farmingPartOne" v-if="pageData.length>=1">
  12. <div class="inner">
  13. <div class="innerLeft" v-if="pageData.length>=1">
  14. <div class="title">
  15. <h3>
  16. <NuxtLink :to="{ path: `/newsList/${pageData[0].cid}`}" v-if="pageData[0]" :title="pageData[0].alias">
  17. {{ pageData[0].alias }}
  18. </NuxtLink>
  19. <span>
  20. <NuxtLink
  21. :to="{ path: `/newsList/${pageData[0].cid}`}"
  22. v-if="pageData[0]" :title="pageData[0].title">查看更多</NuxtLink>
  23. </span>
  24. </h3>
  25. </div>
  26. <div class="leftTop">
  27. <div class="leftTopPhoto left" >
  28. <NuxtLink :to="item.linkurl" v-if="pageData[0].data[0]&&pageData[0].data[0].islink==1" :title="pageData[0].data[0].title">
  29. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  30. <span>{{pageData[0].data[0].title }}</span>
  31. </NuxtLink>
  32. <NuxtLink :to="{ path: `/newsDetail/${pageData[0].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  33. v-if="pageData[0].data[0]&&pageData[0].data[0].islink==0" :title="pageData[0].data[0].title">
  34. <img :src="pageData[0].data[0].imgurl" :alt="pageData[0].data[0].title">
  35. <span>{{pageData[0].data[0].title}}</span>
  36. </NuxtLink>
  37. </div>
  38. <ul class="left">
  39. <li v-for="item in pageData[0].data3">
  40. <em></em>
  41. <span>
  42. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  43. <NuxtLink
  44. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  45. v-if="item.islink==0" :title="item.title">{{ item.title }}
  46. </NuxtLink>
  47. </span>
  48. </li>
  49. </ul>
  50. </div>
  51. <ul class="leftBottom" v-if="pageData[0]">
  52. <li v-for="item in pageData[0].data2">
  53. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  54. <img :src="item.imgurl" :alt="item.title">
  55. </NuxtLink>
  56. <NuxtLink
  57. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  58. v-if="item.islink==0" :title="item.title">
  59. <img :src="item.imgurl" :alt="item.title">
  60. </NuxtLink>
  61. <p>
  62. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  63. <NuxtLink
  64. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  65. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  66. </p>
  67. </li>
  68. </ul>
  69. </div>
  70. <div class="innerRight" v-if="pageData.length>=2">
  71. <div class="title">
  72. <h3>
  73. <NuxtLink :to="{ path: `/newsList/${pageData[1].cid}`}" v-if="pageData[1]" :title="pageData[1].alias">
  74. {{ pageData[1].alias }}
  75. </NuxtLink>
  76. <span>
  77. <NuxtLink
  78. :to="{ path: `/newsList/${pageData[1].cid}`}"
  79. v-if="pageData[1]" :title="pageData[1].title">查看更多</NuxtLink>
  80. </span>
  81. </h3>
  82. </div>
  83. <ul class="rightList">
  84. <li v-for="item in pageData[1].data">
  85. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  86. <NuxtLink
  87. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  88. v-if="item.islink==0" :title="item.title">
  89. <img class="left" :src="item.imgurl" :alt="item.title">
  90. </NuxtLink>
  91. <p class="left">
  92. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  93. <NuxtLink
  94. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  95. v-if="item.islink==0" :title="item.title">
  96. {{ item.title }}
  97. </NuxtLink>
  98. </p>
  99. </li>
  100. </ul>
  101. </div>
  102. </div>
  103. </div>
  104. <!-- 三农资讯logo -->
  105. <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen>
  106. <!-- 第二层 -->
  107. <div class="farmingPartTwo" v-if="pageData.length>=3">
  108. <div class="inner">
  109. <div class="farmer" v-if="pageData.length>=3">
  110. <div class="title">
  111. <h3>
  112. <NuxtLink :to="{ path: `/newsList/${pageData[2].cid}`}" v-if="pageData[2]" :title="pageData[2].alias">
  113. {{ pageData[2].alias }}
  114. </NuxtLink>
  115. <span>
  116. <NuxtLink
  117. :to="{ path: `/newsList/${pageData[2].cid}`, query: { catid: pageData[2].cid } }"
  118. v-if="pageData[2]" :title="pageData[2].title">查看更多</NuxtLink>
  119. </span>
  120. </h3>
  121. </div>
  122. <div class="PartTwoPhoto" v-if="pageData[2].data[0]">
  123. <NuxtLink :to="item.linkurl" v-if="pageData[2].data[0].islink==1" :title="pageData[2].data[0].title">
  124. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  125. <span>{{ pageData[2].data[0].title }}</span>
  126. </NuxtLink>
  127. <NuxtLink
  128. :to="{ path: `/newsDetail/${pageData[2].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  129. v-if="pageData[2].data[0].islink==0" :title="pageData[2].data[0].title">
  130. <img :src="pageData[2].data[0].imgurl" :alt="pageData[2].data[0].title">
  131. <span>{{ pageData[2].data[0].title }}</span>
  132. </NuxtLink>
  133. </div>
  134. <ul class="PartTwoList">
  135. <li v-for="item in pageData[2].data2">
  136. <em></em>
  137. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  138. <NuxtLink
  139. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  140. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  141. </li>
  142. </ul>
  143. </div>
  144. <div class="farmer" v-if="pageData.length>=4">
  145. <div class="title">
  146. <h3>
  147. <NuxtLink :to="{ path: `/newsList/${pageData[3].cid}`}" v-if="pageData[3]" :title="pageData[3].alias">
  148. {{ pageData[3].alias }}
  149. </NuxtLink>
  150. <span>
  151. <NuxtLink
  152. :to="{ path: `/newsList/${pageData[3].cid}`, query: { catid: pageData[3].cid } }"
  153. v-if="pageData[3]" :title="pageData[3].title">查看更多</NuxtLink>
  154. </span>
  155. </h3>
  156. </div>
  157. <div class="PartTwoPhoto" v-if="pageData[3].data[0]">
  158. <NuxtLink :to="item.linkurl" v-if="pageData[3].data[0].islink==1" :title="pageData[3].data[0].title">
  159. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  160. <span>{{ pageData[3].data[0].title }}</span>
  161. </NuxtLink>
  162. <NuxtLink
  163. :to="{ path: `/newsDetail/${pageData[3].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  164. v-if="pageData[3].data[0].islink==0" :title="pageData[3].data[0].title">
  165. <img :src="pageData[3].data[0].imgurl" :alt="pageData[3].data[0].title">
  166. <span>{{ pageData[3].data[0].title }}</span>
  167. </NuxtLink>
  168. </div>
  169. <ul class="PartTwoList">
  170. <li v-for="item in pageData[3].data2">
  171. <em></em>
  172. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  173. <NuxtLink
  174. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  175. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  176. </li>
  177. </ul>
  178. </div>
  179. <div class="farmer" v-if="pageData.length>=5">
  180. <div class="title">
  181. <h3>
  182. <NuxtLink :to="{ path: `/newsList/${pageData[4].cid}`}" v-if="pageData[4]" :title="pageData[4].alias">
  183. {{ pageData[4].alias }}
  184. </NuxtLink>
  185. <span>
  186. <NuxtLink
  187. :to="{ path: `/newsList/${pageData[4].cid}`, query: { catid: pageData[4].cid } }"
  188. v-if="pageData[4]" :title="pageData[4].title">查看更多</NuxtLink>
  189. </span>
  190. </h3>
  191. </div>
  192. <div class="PartTwoPhoto" v-if="pageData[4].data[0]">
  193. <NuxtLink :to="item.linkurl" v-if="pageData[4].data[0].islink==1" :title="pageData[4].data[0].title">
  194. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  195. <span>{{ pageData[4].data[0].title }}</span>
  196. </NuxtLink>
  197. <NuxtLink
  198. :to="{ path: `/newsDetail/${pageData[4].data[0].id}`, query: { listId: routeId, listName: routeName } }"
  199. v-if="pageData[4].data[0].islink==0" :title="pageData[4].data[0].title">
  200. <img :src="pageData[4].data[0].imgurl" :alt="pageData[4].data[0].title">
  201. <span>{{ pageData[4].data[0].title }}</span>
  202. </NuxtLink>
  203. </div>
  204. <ul class="PartTwoList">
  205. <li v-for="item in pageData[4].data2">
  206. <em></em>
  207. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  208. <NuxtLink
  209. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  210. v-if="item.islink==0" :title="item.title">
  211. {{ item.title }}
  212. </NuxtLink>
  213. </li>
  214. </ul>
  215. </div>
  216. </div>
  217. </div>
  218. <!-- 三农资讯logo -->
  219. <HomeTopTen :imgurl="adImg2" v-if="adImg2"></HomeTopTen>
  220. <!-- 第三层 -->
  221. <div class="zixuntuijian" v-if="pageData.length>=6">
  222. <div class="inner">
  223. <div class="innerLeft" >
  224. <div class="zixunTop">
  225. <div class="zixunLeft" v-if="pageData.length>=6">
  226. <div class="title">
  227. <h3>
  228. <NuxtLink :to="{ path: `/newsList/${pageData[5].cid}`}" v-if="pageData[5]" :title="pageData[5].alias">
  229. {{ pageData[5].alias }}
  230. </NuxtLink>
  231. <span>
  232. <NuxtLink
  233. :to="{ path: `/newsList/${pageData[5].cid}`, query: { catid: pageData[5].cid } }"
  234. v-if="pageData[5]" :title="pageData[5].title">查看更多</NuxtLink>
  235. </span>
  236. </h3>
  237. </div>
  238. <ul class="photo_text">
  239. <li v-for="item in pageData[5].data">
  240. <article>
  241. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  242. <img :src="item.imgurl" :alt="item.title">
  243. </NuxtLink>
  244. <NuxtLink
  245. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  246. v-if="item.islink==0" :title="item.title">
  247. <img :src="item.imgurl" :alt="item.title">
  248. </NuxtLink>
  249. <div>
  250. <h5>
  251. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  252. <NuxtLink
  253. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  254. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  255. </h5>
  256. <p>
  257. <span>{{ item.author }}</span>
  258. <span>{{ getTime(item.updated_at,'month',1) }}</span>
  259. </p>
  260. </div>
  261. </article>
  262. </li>
  263. <li v-for="item in pageData[5].data2">
  264. <article>
  265. <em></em>
  266. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  267. <NuxtLink
  268. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  269. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  270. </article>
  271. </li>
  272. </ul>
  273. </div>
  274. <div class="zixunRight" v-if="pageData.length>=7">
  275. <div class="title">
  276. <h3>
  277. <NuxtLink :to="{ path: `/newsList/${pageData[6].cid}`}" v-if="pageData[6]" :title="pageData[6].alias">
  278. {{ pageData[6].alias }}
  279. </NuxtLink>
  280. <span>
  281. <NuxtLink
  282. :to="{ path: `/newsList/${pageData[6].cid}`, query: { catid: pageData[6].cid } }"
  283. v-if="pageData[6]" :title="pageData[6].title">查看更多</NuxtLink>
  284. </span>
  285. </h3>
  286. </div>
  287. <div class="towPic">
  288. <div v-for="item in pageData[6].data" class="picBox">
  289. <div>
  290. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  291. <img :src="item.imgurl" :alt="item.title">
  292. </NuxtLink>
  293. <NuxtLink
  294. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  295. v-if="item.islink==0" :title="item.title">
  296. <img :src="item.imgurl" :alt="item.title">
  297. </NuxtLink>
  298. </div>
  299. </div>
  300. </div>
  301. <ul class="photo_text">
  302. <li v-for="item in pageData[6].data2">
  303. <article>
  304. <em></em>
  305. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  306. <NuxtLink
  307. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  308. v-if="item.islink==0" :title="item.title">{{ item.title }}
  309. </NuxtLink>
  310. </article>
  311. </li>
  312. </ul>
  313. </div>
  314. </div>
  315. <div class="zixunBottom" v-if="pageData[7]">
  316. <img class="left" :src="pageData[7].data[0].imgurl" :alt="pageData[7].data[0].title"
  317. v-if="pageData[7].data[0] && hoverStatus == 0">
  318. <img class="left" :src="pageData[7].data[1].imgurl" :alt="pageData[7].data[1].title"
  319. v-if="pageData[7].data[1] && hoverStatus == 1">
  320. <img class="left" :src="pageData[7].data[2].imgurl" :alt="pageData[7].data[2].title"
  321. v-if="pageData[7].data[2] && hoverStatus == 2">
  322. <img class="left" :src="pageData[7].data[3].imgurl" :alt="pageData[7].data[3].title"
  323. v-if="pageData[7].data[3] && hoverStatus == 3">
  324. <img class="left" :src="pageData[7].data[4].imgurl" :alt="pageData[7].data[4].title"
  325. v-if="pageData[7].data[4] && hoverStatus == 4">
  326. <img class="left" :src="pageData[7].data[5].imgurl" :alt="pageData[7].data[5].title"
  327. v-if="pageData[7].data[5] && hoverStatus == 5">
  328. <ul class="leftList left">
  329. <li v-for="(item, index) in pageData[7].data" @mouseenter="qhPic(index)">
  330. <h4>
  331. <em></em>
  332. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  333. <NuxtLink
  334. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  335. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  336. </h4>
  337. </li>
  338. </ul>
  339. </div>
  340. </div>
  341. <div class="innerRight" v-if="pageData.length>=9">
  342. <div class="title">
  343. <h3>
  344. <NuxtLink :to="{ path: `/newsList/${pageData[8].cid}`}" v-if="pageData[8]" :title="pageData[8].alias">
  345. {{ pageData[8].alias }}
  346. </NuxtLink>
  347. <span>
  348. <NuxtLink
  349. :to="{ path: `/newsList/${pageData[8].cid}`, query: { catid: pageData[8].cid } }"
  350. v-if="pageData[8]" :title="pageData[8].title">查看更多</NuxtLink>
  351. </span>
  352. </h3>
  353. </div>
  354. <ul class="information">
  355. <li v-for="item in pageData[8].data">
  356. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  357. <img :src="item.imgurl" :alt="item.title">
  358. </NuxtLink>
  359. <NuxtLink
  360. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  361. v-if="item.islink==0" :title="item.title">
  362. <img :src="item.imgurl" :alt="item.title">
  363. </NuxtLink>
  364. <div class="text">
  365. <h5>
  366. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  367. <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }" v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  368. </h5>
  369. <p>{{ item.author }}</p>
  370. </div>
  371. </li>
  372. </ul>
  373. </div>
  374. </div>
  375. </div>
  376. <HomeTopTen :imgurl="adImg3" v-if="adImg3"></HomeTopTen>
  377. <div class="farming" v-if="pageData.length>=10">
  378. <div class="inner">
  379. <div class="innerLeft">
  380. <div class="farmer" v-if="pageData.length>=10">
  381. <h3>
  382. <NuxtLink :to="{ path: `/newsList/${pageData[9].cid}`}" v-if="pageData[9]" :title="pageData[9].alias">
  383. {{ pageData[9].alias }}
  384. </NuxtLink>
  385. <span>
  386. <NuxtLink
  387. :to="{ path: `/newsList/${pageData[9].cid}`, query: { catid: pageData[9].cid } }"
  388. v-if="pageData[9]" :title="pageData[9].title">查看更多</NuxtLink>
  389. </span>
  390. </h3>
  391. <ul>
  392. <li v-for="item in pageData[9].data">
  393. <em></em>
  394. <span>
  395. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  396. <NuxtLink
  397. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  398. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  399. </span>
  400. </li>
  401. </ul>
  402. </div>
  403. <div class="farmer" v-if="pageData.length>=11">
  404. <h3>
  405. <NuxtLink :to="{ path: `/newsList/${pageData[10].cid}`}" v-if="pageData[10]" :title="pageData[10].alias">
  406. {{ pageData[10].alias }}
  407. </NuxtLink>
  408. <span>
  409. <NuxtLink
  410. :to="{ path: `/newsList/${pageData[10].cid}`, query: { catid: pageData[10].cid } }"
  411. v-if="pageData[10]" :title="pageData[10].title">查看更多</NuxtLink>
  412. </span>
  413. </h3>
  414. <ul>
  415. <li v-for="item in pageData[10].data">
  416. <em></em>
  417. <span>
  418. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  419. <NuxtLink
  420. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  421. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  422. </span>
  423. </li>
  424. </ul>
  425. </div>
  426. </div>
  427. <div class="innerRight" v-if="pageData.length>=12">
  428. <h3>
  429. <NuxtLink :to="{ path: `/newsList/${pageData[11].cid}`}" v-if="pageData[11]" :title="pageData[11].alias">
  430. {{ pageData[11].alias }}
  431. </NuxtLink>
  432. <span>
  433. <NuxtLink
  434. :to="{ path: `/newsList/${pageData[11].cid}`, query: { catid: pageData[11].cid } }"
  435. v-if="pageData[11]" :title="pageData[11].title">查看更多</NuxtLink>
  436. </span>
  437. </h3>
  438. <div class="banner">
  439. <HomeSmallSwiper :swiperData="pageData[11].data"></HomeSmallSwiper>
  440. </div>
  441. <div class="banner_b_img">
  442. <div class="photo">
  443. <article v-for="(item, index) in pageData[11].data2">
  444. <div class="photoL" v-if="index == 0">
  445. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  446. <img :src="item.imgurl" :alt="item.title">
  447. <span>{{ item.title }}</span>
  448. </NuxtLink>
  449. <NuxtLink
  450. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  451. v-if="item.islink==0" :title="item.title">
  452. <img :src="item.imgurl" :alt="item.title">
  453. <span>{{ item.title }}</span>
  454. </NuxtLink>
  455. </div>
  456. <div class="photoL" v-if="index == 1">
  457. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  458. <img :src="item.imgurl" :alt="item.title">
  459. <span>{{ item.title }}</span>
  460. </NuxtLink>
  461. <NuxtLink
  462. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  463. v-if="item.islink==0" :title="item.title">
  464. <img :src="item.imgurl" :alt="item.title">
  465. <span>{{ item.title }}</span>
  466. </NuxtLink>
  467. </div>
  468. </article>
  469. </div>
  470. </div>
  471. <div class="banner_text_list">
  472. <ul>
  473. <li v-for="item in pageData[11].data3">
  474. <em></em>
  475. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  476. <span>{{ item.title }}</span>
  477. </NuxtLink>
  478. <NuxtLink
  479. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  480. v-if="item.islink==0" :title="item.title">
  481. <span>{{ item.title }}</span>
  482. </NuxtLink>
  483. </li>
  484. </ul>
  485. </div>
  486. </div>
  487. </div>
  488. </div>
  489. <!-- 十强称号logo -->
  490. <HomeTopTen :imgurl="adImg4" v-if="adImg4"></HomeTopTen>
  491. <!-- 第五层 -->
  492. <div class="scienceEducation" v-if="pageData.length>=13">
  493. <div class="inner">
  494. <div class="innerLeft" v-if="pageData.length>=13">
  495. <div class="slider">
  496. <div class="scienceTitle">
  497. <h5>
  498. <NuxtLink :to="{ path: `/newsList/${pageData[12].cid}`}" v-if="pageData[12]" :title="pageData[12].title">
  499. {{ pageData[12].title }}
  500. </NuxtLink>
  501. </h5>
  502. <p class="title">
  503. <span v-if="pageData[12]" @click="qhtabs(1)">
  504. <b v-if="showTabs == 1" class="active">{{ pageData[12].title1 }}</b>
  505. <b v-else class="noSelect">{{ pageData[12].title1 }}</b>
  506. </span>
  507. <span v-if="pageData[12]" @click="qhtabs(2)">
  508. <b v-if="showTabs == 2" class="active">{{ pageData[12].title2 }}</b>
  509. <b v-else class="noSelect">{{ pageData[12].title2 }}</b>
  510. </span>
  511. <span v-if="pageData[12]" @click="qhtabs(3)">
  512. <b v-if="showTabs == 3" class="active">{{ pageData[12].title3 }}</b>
  513. <b v-else class="noSelect">{{ pageData[12].title3 }}</b>
  514. </span>
  515. <span v-if="pageData[12]" @click="qhtabs(4)">
  516. <b v-if="showTabs == 4" class="active">{{ pageData[12].title4 }}</b>
  517. <b v-else class="noSelect">{{ pageData[12].title4 }}</b>
  518. </span>
  519. </p>
  520. </div>
  521. <div class="box">
  522. <div class="scienceListBox">
  523. <ul class="scienceList" v-if="showTabs == 1">
  524. <li v-for="item in pageData[12].data1">
  525. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  526. <NuxtLink
  527. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  528. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  529. <p>
  530. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  531. <NuxtLink
  532. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  533. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  534. </p>
  535. </li>
  536. </ul>
  537. <ul class="scienceList" v-if="showTabs == 2">
  538. <li v-for="item in pageData[12].data2">
  539. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  540. <NuxtLink
  541. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  542. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  543. <p>
  544. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  545. <NuxtLink
  546. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  547. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  548. </p>
  549. </li>
  550. </ul>
  551. <ul class="scienceList" v-if="showTabs == 3">
  552. <li v-for="item in pageData[12].data3">
  553. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  554. <NuxtLink
  555. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  556. v-if="item.islink==0" :title="item.title"><img :src="item.imgurl" :alt="item.title"></NuxtLink>
  557. <p>
  558. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  559. <NuxtLink
  560. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  561. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  562. </p>
  563. </li>
  564. </ul>
  565. <ul class="scienceList" v-if="showTabs == 4">
  566. <li v-for="item in pageData[12].data4">
  567. <img :src="item.imgurl" :alt="item.title">
  568. <p>
  569. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  570. <NuxtLink
  571. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  572. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  573. </p>
  574. </li>
  575. </ul>
  576. </div>
  577. </div>
  578. </div>
  579. </div>
  580. <div class="innerRight" v-if="pageData.length>=14">
  581. <h3>
  582. <NuxtLink :to="{ path: `/newsList/${pageData[13].cid}`}" v-if="pageData[13]" :title="pageData[13].alias">
  583. {{ pageData[13].alias }}
  584. </NuxtLink>
  585. <span>
  586. <NuxtLink
  587. :to="{ path: `/newsList/${pageData[13].cid}`, query: { catid: pageData[13].cid } }"
  588. v-if="pageData[13]" :title="pageData[13].title">查看更多</NuxtLink>
  589. </span>
  590. </h3>
  591. <ul class="sannongList">
  592. <li v-for="item in pageData[13].data3">
  593. <em></em>
  594. <span>
  595. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">{{ item.title }}</NuxtLink>
  596. <NuxtLink
  597. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  598. v-if="item.islink==0" :title="item.title">{{ item.title }}</NuxtLink>
  599. </span>
  600. </li>
  601. </ul>
  602. <div class="banner">
  603. <HomeSmallSwiper :swiperData="pageData[13].data"></HomeSmallSwiper>
  604. </div>
  605. <div class="banner_b_img">
  606. <div class="photo">
  607. <article v-for="(item, index) in pageData[13].data2">
  608. <div class="photoL" v-if="index == 0">
  609. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  610. <img :src="item.imgurl" :alt="item.title">
  611. <span>{{ item.title }}</span>
  612. </NuxtLink>
  613. <NuxtLink
  614. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  615. v-if="item.islink==0" :title="item.title">
  616. <img :src="item.imgurl" :alt="item.title">
  617. <span>{{ item.title }}</span>
  618. </NuxtLink>
  619. </div>
  620. <div class="photoL" v-if="index == 1">
  621. <NuxtLink :to="item.linkurl" v-if="item.islink==1" :title="item.title">
  622. <img :src="item.imgurl" :alt="item.title">
  623. <span>{{ item.title }}</span>
  624. </NuxtLink>
  625. <NuxtLink
  626. :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
  627. v-if="item.islink==0" :title="item.title">
  628. <img :src="item.imgurl" :alt="item.title">
  629. <span>{{ item.title }}</span>
  630. </NuxtLink>
  631. </div>
  632. </article>
  633. </div>
  634. </div>
  635. </div>
  636. </div>
  637. </div>
  638. <!-- 页脚部分 -->
  639. <HomeFoot1></HomeFoot1>
  640. </div>
  641. </template>
  642. <script setup>
  643. //1.加载页面依赖 start ---------------------------------------->
  644. //获得跳转过来的id
  645. const route = useRoute();
  646. const routeId = route.params.id; //获得该页面的id
  647. const routeName = route.query.name; //获得该页面的名称
  648. //1.加载页面依赖 end ---------------------------------------->
  649. //2.页面交互效果 start ---------------------------------------->
  650. //2.1 新闻图片切换
  651. const hoverStatus = ref(1)
  652. const qhPic = function (num) {
  653. console.log(num)
  654. hoverStatus.value = num;
  655. }
  656. //2.2 选项卡切换
  657. let showTabs = ref(1)
  658. let qhtabs = function (number) {
  659. console.log(number)
  660. showTabs.value = number
  661. }
  662. //2.3 展示广告
  663. let adImg1 = ref({})
  664. let adImg2 = ref({})
  665. let adImg3 = ref({})
  666. let adImg4 = ref({})
  667. async function getAdData(){
  668. const mkdata = await requestDataPromise('/web/getWebsiteAdvertisement',{method:'GET',query:{'ad_tag':'CATEGORY'}});
  669. if(mkdata.code == 200){
  670. for(let item of mkdata.data){
  671. if(item.ad_tag == 'CATEGORY_0001'){
  672. adImg1.value = item;
  673. }
  674. if(item.ad_tag == 'CATEGORY_0002'){
  675. adImg2.value = item;
  676. }
  677. if(item.ad_tag == 'CATEGORY_0003'){
  678. adImg3.value = item;
  679. }
  680. if(item.ad_tag == 'CATEGORY_0004'){
  681. adImg4.value = item;
  682. }
  683. }
  684. }else{
  685. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  686. console.log("错误位置:分类页广告")
  687. console.log("后端错误反馈:",mkdata.message)
  688. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  689. }
  690. }
  691. getAdData();
  692. //2.页面交互效果 end ---------------------------------------->
  693. //3.渲染页面数据 start ---------------------------------------->
  694. //3.1 该页面上所有的导航池 转为动态数据
  695. const pageCategory = ref([]);
  696. //3.2 该页面上需要渲染的所有数据
  697. const pageData = ref([
  698. // { id: 0, data: [], data2: [], title: "", cid: "" },
  699. // { id: 1, data: [], title: "", cid: "" },
  700. // { id: 2, data: [], title: "", cid: "" },
  701. // { id: 3, data: [], title: "", cid: "" },
  702. // { id: 4, data: [], title: "", cid: "" },
  703. // { id: 5, data: [], title: "", cid: "" },
  704. // { id: 6, data: [], title: "", cid: "" },
  705. // { id: 7, data: [], title: "", cid: "" },
  706. // { id: 8, data: [], title: "", cid: "" },
  707. // { id: 9, data: [], title: "", cid: "" },
  708. // { id: 10, data: [], title: "", cid: "" },
  709. // { id: 10, data: [], title: "", cid: "" },
  710. // {
  711. // id: 11,
  712. // title: "",
  713. // data: [],
  714. // data1: [],
  715. // data2: [],
  716. // data3: [],
  717. // data4: [],
  718. // category_id1: "",
  719. // category_id2: "",
  720. // category_id3: "",
  721. // category_id4: "",
  722. // title1: "",
  723. // title2: "",
  724. // title3: "",
  725. // title4: "",
  726. // cid: ""
  727. // },
  728. // { id: 12, data1: [], data2: [], data3: [], cid: "" },
  729. ])
  730. const navSize = ref("");
  731. //3.3 获取所有导航
  732. try {
  733. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  734. method: 'GET',
  735. query: {
  736. 'placeid': 1,
  737. 'pid': routeId,
  738. 'num': 14
  739. },
  740. });
  741. if(navigateData.code == 200){
  742. // 遍历可用的导航池放到页面中
  743. for (let index in navigateData.data) {
  744. let data = {
  745. title: navigateData.data[index].name,
  746. cid: navigateData.data[index].category_id,
  747. children_count: navigateData.data[index].children_count,
  748. alias: navigateData.data[index].alias,
  749. data:[],
  750. data1:[],
  751. data2:[],
  752. data3:[],
  753. data4:[],
  754. category_id1:"",
  755. category_id2:"",
  756. category_id3:"",
  757. category_id4:"",
  758. title1: "",
  759. title2: "",
  760. title3: "",
  761. title4: ""
  762. };
  763. if (navigateData.data[index].is_url == 1) {
  764. // 处理 URL 的逻辑
  765. } else {
  766. pageData.value.push(data);
  767. }
  768. }
  769. //导航池加载完毕,开始申请模块数据
  770. await getPageData1();
  771. await getPageData1_data2();
  772. await getPageData1_data3();
  773. await getPageData2();
  774. await getPageData3();
  775. await getPageData3_data2();
  776. await getPageData4();
  777. await getPageData4_data2();
  778. await getPageData5();
  779. await getPageData5_data2();
  780. await getPageData6();
  781. await getPageData6_data2();
  782. await getPageData7();
  783. await getPageData7_data2();
  784. await getPageData8();
  785. await getPageData9();
  786. await getPageData10();
  787. await getPageData11();
  788. await getPageData12();
  789. await getPageData12_data2();
  790. await getPageData12_data3();
  791. await getPageData13();
  792. if(navSize.value>=1){
  793. await getPageData13_data1();
  794. }
  795. if(navSize.value>=2){
  796. await getPageData13_data2();
  797. }
  798. if(navSize.value>=3){
  799. await getPageData13_data3();
  800. }
  801. if(navSize.value>=4){
  802. await getPageData13_data4();
  803. }
  804. await getPageData14();
  805. await getPageData14_data2();
  806. await getPageData14_data3();
  807. }else{
  808. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  809. console.log("错误位置:分类页导航池")
  810. console.log("后端错误反馈:",navigateData.message)
  811. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  812. }
  813. } catch (error) {
  814. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  815. console.log("错误位置:分类页导航渲染阶段")
  816. console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
  817. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  818. }
  819. //模块1
  820. async function getPageData1() {
  821. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  822. method: 'GET',
  823. query: {
  824. 'catid': pageData.value[0].cid,
  825. 'level': 3,
  826. 'pagesize': 1
  827. },
  828. });
  829. pageData.value[0].data = mkdata.data;
  830. }
  831. async function getPageData1_data2() {
  832. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  833. method: 'GET',
  834. query: {
  835. 'catid': pageData.value[0].cid,
  836. 'level': 3,
  837. 'pagesize': 4,
  838. 'placeid': 2
  839. },
  840. });
  841. pageData.value[0].data2 = mkdata.data;
  842. }
  843. async function getPageData1_data3() {
  844. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  845. method: 'GET',
  846. query: {
  847. 'catid': pageData.value[0].cid,
  848. 'level': 1,
  849. 'pagesize': 8,
  850. },
  851. });
  852. pageData.value[0].data3 = mkdata.data;
  853. }
  854. //模块2
  855. async function getPageData2() {
  856. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  857. method: 'GET',
  858. query: {
  859. 'catid': pageData.value[1].cid,
  860. 'level': 3,
  861. 'pagesize': 5
  862. },
  863. });
  864. pageData.value[1].data = mkdata.data;
  865. }
  866. //模块3
  867. async function getPageData3() {
  868. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  869. method: 'GET',
  870. query: {
  871. 'catid': pageData.value[2].cid,
  872. 'level': 3,
  873. 'pagesize': 6
  874. },
  875. });
  876. pageData.value[2].data = mkdata.data;
  877. }
  878. async function getPageData3_data2() {
  879. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  880. method: 'GET',
  881. query: {
  882. 'catid': pageData.value[2].cid,
  883. 'level': 1,
  884. 'pagesize': 6
  885. },
  886. });
  887. pageData.value[2].data2 = mkdata.data;
  888. }
  889. //模块4
  890. async function getPageData4() {
  891. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  892. method: 'GET',
  893. query: {
  894. 'catid': pageData.value[3].cid,
  895. 'level': 3,
  896. 'pagesize': 6
  897. },
  898. });
  899. pageData.value[3].data = mkdata.data;
  900. }
  901. async function getPageData4_data2() {
  902. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  903. method: 'GET',
  904. query: {
  905. 'catid': pageData.value[3].cid,
  906. 'level': 1,
  907. 'pagesize': 6
  908. },
  909. });
  910. pageData.value[3].data2 = mkdata.data;
  911. }
  912. //模块5
  913. async function getPageData5() {
  914. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  915. method: 'GET',
  916. query: {
  917. 'catid': pageData.value[4].cid,
  918. 'level': 3,
  919. 'pagesize': 6
  920. },
  921. });
  922. pageData.value[4].data = mkdata.data;
  923. }
  924. async function getPageData5_data2() {
  925. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  926. method: 'GET',
  927. query: {
  928. 'catid': pageData.value[4].cid,
  929. 'level': 1,
  930. 'pagesize': 6
  931. },
  932. });
  933. pageData.value[4].data2 = mkdata.data;
  934. }
  935. //模块6
  936. async function getPageData6() {
  937. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  938. method: 'GET',
  939. query: {
  940. 'catid': pageData.value[5].cid,
  941. 'level': 3,
  942. 'pagesize':1
  943. },
  944. });
  945. pageData.value[5].data = mkdata.data;
  946. }
  947. async function getPageData6_data2() {
  948. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  949. method: 'GET',
  950. query: {
  951. 'catid': pageData.value[5].cid,
  952. 'level': 1,
  953. 'pagesize':3
  954. },
  955. });
  956. pageData.value[5].data2 = mkdata.data;
  957. }
  958. //模块7
  959. async function getPageData7() {
  960. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  961. method: 'GET',
  962. query: {
  963. 'catid': pageData.value[6].cid,
  964. 'level': 3,
  965. 'pagesize': 2
  966. },
  967. });
  968. pageData.value[6].data = mkdata.data;
  969. }
  970. async function getPageData7_data2() {
  971. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  972. method: 'GET',
  973. query: {
  974. 'catid': pageData.value[6].cid,
  975. 'level': 1,
  976. 'pagesize': 3
  977. },
  978. });
  979. pageData.value[6].data2= mkdata.data;
  980. }
  981. //模块8
  982. async function getPageData8() {
  983. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  984. method: 'GET',
  985. query: {
  986. 'catid': pageData.value[7].cid,
  987. 'level': 3,
  988. 'pagesize': 5
  989. },
  990. });
  991. pageData.value[7].data = mkdata.data;
  992. }
  993. //模块9
  994. async function getPageData9() {
  995. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  996. method: 'GET',
  997. query: {
  998. 'catid': pageData.value[8].cid,
  999. 'level': 3,
  1000. 'pagesize': 4
  1001. },
  1002. });
  1003. pageData.value[8].data = mkdata.data;
  1004. }
  1005. //模块10
  1006. async function getPageData10() {
  1007. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1008. method: 'GET',
  1009. query: {
  1010. 'catid': pageData.value[9].cid,
  1011. 'level': 1,
  1012. 'pagesize': 10
  1013. },
  1014. });
  1015. pageData.value[9].data = mkdata.data;
  1016. }
  1017. //模块11
  1018. async function getPageData11() {
  1019. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1020. method: 'GET',
  1021. query: {
  1022. 'catid': pageData.value[10].cid,
  1023. 'level': 1,
  1024. 'pagesize': 10
  1025. },
  1026. });
  1027. pageData.value[10].data = mkdata.data;
  1028. }
  1029. //模块12
  1030. async function getPageData12() {
  1031. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1032. method: 'GET',
  1033. query: {
  1034. 'catid': pageData.value[11].cid,
  1035. 'level': 2,
  1036. 'pagesize': 4
  1037. },
  1038. });
  1039. pageData.value[11].data = mkdata.data;
  1040. }
  1041. async function getPageData12_data2() {
  1042. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1043. method: 'GET',
  1044. query: {
  1045. 'catid': pageData.value[11].cid,
  1046. 'level': 3,
  1047. 'pagesize': 2
  1048. },
  1049. });
  1050. pageData.value[11].data2 = mkdata.data;
  1051. }
  1052. async function getPageData12_data3() {
  1053. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1054. method: 'GET',
  1055. query: {
  1056. 'catid': pageData.value[11].cid,
  1057. 'level': 1,
  1058. 'pagesize': 5
  1059. },
  1060. });
  1061. pageData.value[11].data3 = mkdata.data;
  1062. }
  1063. async function getPageData13() {
  1064. const navData = await requestDataPromise('/web/getWebsiteModelCategory', {
  1065. method: 'GET',
  1066. query: {
  1067. 'pid': pageData.value[12].cid,
  1068. 'placeid': 1,
  1069. 'num': 4
  1070. },
  1071. });
  1072. let mkLength = navData.data.length;
  1073. navSize.value = navData.data.length;
  1074. if(mkLength != 0){
  1075. for (let i = 1; i <= mkLength; i++) {
  1076. if (i == 1) {
  1077. pageData.value[12].title1 = navData.data[0].name;
  1078. pageData.value[12].category_id1 = navData.data[0].category_id;
  1079. }
  1080. if (i == 2) {
  1081. pageData.value[12].title2 = navData.data[1].name;
  1082. pageData.value[12].category_id2 = navData.data[1].category_id;
  1083. }
  1084. if (i == 3) {
  1085. pageData.value[12].title3 = navData.data[2].name;
  1086. pageData.value[12].category_id3 = navData.data[2].category_id;
  1087. }
  1088. if (i == 4) {
  1089. pageData.value[12].title4 = navData.data[3].name;
  1090. pageData.value[12].category_id4 = navData.data[3].category_id;
  1091. }
  1092. }
  1093. }
  1094. }
  1095. async function getPageData13_data1() {
  1096. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1097. method: 'GET',
  1098. query: {
  1099. 'catid': pageData.value[12].category_id1,
  1100. 'level': 3,
  1101. 'pagesize': 6
  1102. },
  1103. });
  1104. pageData.value[12].data1 = mkdata.data;
  1105. }
  1106. async function getPageData13_data2() {
  1107. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1108. method: 'GET',
  1109. query: {
  1110. 'catid': pageData.value[12].category_id2,
  1111. 'level': 3,
  1112. 'pagesize': 6
  1113. },
  1114. });
  1115. pageData.value[12].data2 = mkdata.data;
  1116. }
  1117. async function getPageData13_data3() {
  1118. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1119. method: 'GET',
  1120. query: {
  1121. 'catid': pageData.value[12].category_id3,
  1122. 'level': 3,
  1123. 'pagesize': 6
  1124. },
  1125. });
  1126. pageData.value[12].data3 = mkdata.data;
  1127. }
  1128. async function getPageData13_data4() {
  1129. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1130. method: 'GET',
  1131. query: {
  1132. 'catid': pageData.value[12].category_id4,
  1133. 'level': 3,
  1134. 'pagesize': 6
  1135. },
  1136. });
  1137. pageData.value[12].data4 = mkdata.data;
  1138. }
  1139. //模块14
  1140. async function getPageData14() {
  1141. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1142. method: 'GET',
  1143. query: {
  1144. 'catid': pageData.value[13].cid,
  1145. 'level': 2,
  1146. 'pagesize': 4
  1147. },
  1148. });
  1149. pageData.value[13].data = mkdata.data;
  1150. }
  1151. async function getPageData14_data2() {
  1152. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1153. method: 'GET',
  1154. query: {
  1155. 'catid': pageData.value[13].cid,
  1156. 'level': 3,
  1157. 'pagesize': 2
  1158. },
  1159. });
  1160. pageData.value[13].data2 = mkdata.data;
  1161. }
  1162. async function getPageData14_data3() {
  1163. const mkdata = await requestDataPromise('/web/getWebsiteModelArticles', {
  1164. method: 'GET',
  1165. query: {
  1166. 'catid': pageData.value[13].cid,
  1167. 'level': 1,
  1168. 'pagesize': 5
  1169. },
  1170. });
  1171. pageData.value[13].data3 = mkdata.data;
  1172. }
  1173. //3.渲染页面数据 end ---------------------------------------->
  1174. //4.设置seo信息 start---------------------------------------->
  1175. //4.1 设置seo信息
  1176. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  1177. method: 'GET',
  1178. query: {
  1179. 'catid': routeId
  1180. },
  1181. });
  1182. if(setData.code == 200){
  1183. let seoTitle = setData.data.seo_title;
  1184. let seoDescription = setData.data.seo_description;
  1185. let seoKeywords = setData.data.seo_keywords;
  1186. let seoSuffix = setData.data.suffix;
  1187. let seoName = setData.data.website_name;
  1188. useSeoMeta({
  1189. title: seoTitle + "_" + seoSuffix,
  1190. meta: [
  1191. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix },
  1192. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix }
  1193. ]
  1194. });
  1195. }else{
  1196. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1197. console.log("错误位置:设置分类页面SEO数据")
  1198. console.log("后端错误反馈:",setData.message)
  1199. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1200. }
  1201. //4.设置seo信息 end---------------------------------------->
  1202. </script>
  1203. <style lang="less" scoped>
  1204. @import '@/assets/css/class.less';
  1205. </style>